수학적 편의를 위해 데이터를 2차원 격자로 시각화하지만, 하드웨어는 오직 연속된 1차원 바이트 스트림으로만 인식합니다. 이 '선형 현실'을 이해하는 것은 행별로 계산하는 감소 패턴—예를 들어 최댓값을 찾거나 지수의 합계를 구하는 것과 같은—을 구현하기 위한 전제 조건입니다.
1. '선형 평탄화' 원리
모든 다차원 텐서는 물리적으로 연속적으로 저장됩니다. $\text{softmax}(x_i) = \frac{e^{x_i}}{\sum_j e^{x_j}}$를 구현하기 위해서는 행을 나타내는 선형 세그먼트를 식별하고, 최댓값과 합계를 계산하기 위해 순회해야 합니다.
2. 수치 안정성
왜 Softmax는 안정화가 필요한가요? 높은 입력 값은 $e^{x}$를 폭발시키게 됩니다. 우리는 다음과 같이 안정화합니다: $$\text{exp}(x_i - \text{max}(x))$$ 이는 최종 정규화 전에 두 번의 선형 감소(최대값 → 합계)를 수행하도록 커널 설계자를 강제합니다.
3. 짧은 행을 통한 검증
Triton 커널을 개발할 때, 우리는 짧은 행만 테스트 (예: 너비 16)를 사용하여 생산용 작업 부하로 확장하기 전에 선형 포인터 산술이 모든 요소를 올바르게 포착했는지 확인합니다.
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>